package com.ruoyi.lvlian.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

@Data
@ToString
@ApiModel(value = "财务资金-销售收款", description = "财务资金-销售收款")
public class PaymentInfoDto {

    /** 交易流水号-一个回单可能对应多个入库 */
    @Excel(name = "交易流水号-一个回单可能对应多个入库")
    private String paymentNum;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    @ApiModelProperty(value = "公司组织编码必填") // 注意required=true只是给Swagger看的 , required = true
    @NotNull(message = "公司组织编码不能为空") // 这是实际的验证注解
    private String orgCode;

    private List<String> orgCodes;

    @ApiModelProperty(value = "收款人姓名", required = false) // 注意required=true只是给Swagger看的
    private String invoicerName;

    /** 甲方编号-对应主体编号 */
    @ApiModelProperty(value = "甲方编号-对应主体编号")
    private String buyerCode;

    /** 付款人户名 */
    @ApiModelProperty(value = "付款人户名")
    private String buyerName;

    @Excel(name = "回单类型：1收款回单 2付款回单")
    private String paymentType;

    @ApiModelProperty(value = "发票号码 查支付")
    private String invoiceNum;

    /** 卖方编号-对应主体编号 */
    @ApiModelProperty(value = "卖方编号-对应主体编号")
    private String sellerCode;

    /** 收款人户名 */
    @ApiModelProperty(value = "收款人户名")
    private String sellerName;

    @ApiModelProperty(value = "分类")
    private String category;

    @ApiModelProperty(value = "是否有图")
    private Boolean haveImg;
}
